1. Field of the Invention
The present invention relates to computer programming, and deals more particularly with providing improved accessibility for users interacting with computer-rendered information (such as a Web page rendered in a browser).
2. Description of the Related Art
Over the past few years, the pendulum of technology used to build Web sites and Web applications has swung from relatively simple, such as Web pages with primarily static content, to rich, dynamic, and interactive content interfaces. Advanced client-side technology supporting today's rich content includes browser plug-ins, Java™ applets, and vector-graphics animation programs. Although these rich client-side controls offer advantages in functionality, they also suffer from drawbacks. Examples include requiring a large download footprint on the client and a lack of portability across operating systems and/or browsers. (“Java” is a trademark of Sun Microsystems, Inc. in the United States, other countries, or both.)
Recently, however, big strides have been made in advanced scripting-based technology (such as JavaScript™ or VisualBasic scripting code), and this approach has been adopted by most commonly-used browsers as a means of manipulating page content after it has been loaded into the browser. For example, the Hypertext Markup Language (“HTML”) syntax for a Web page may include JavaScript code that, when executed, changes an already-rendered Web page. As one example, a rendered image can be removed from a page by executing JavaScript code that programmatically removes the image node from the Document Object Model (“DOM”) tree corresponding to the rendered page. As another example, JavaScript code might execute to alter the visual appearance of rendered text. It should be noted that while JavaScript code enables use of relatively advanced client-side capabilities, support for processing the scripts is typically built into browsers. JavaScript support is therefore considered as having a zero footprint, and does not share that particular drawback of other rich client-side technologies. (“JavaScript” is a trademark of Sun Microsystems, Inc. in the United States, other countries, or both.)
The ubiquity and functionality of the rich client-side technologies allows Web page application designers to create complex and highly interactive page content. Platform developers have moved to supporting these client-side technologies in combination with server-side componentry such as portals/portlets, servlets, and JavaServer Pages™ (“JSP”™) technology, thereby providing platforms that support advanced Web application development and delivery along with centralized (i.e., server-side) management of the applications. (“JavaServer Pages” and “JSP” are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.)
Unfortunately, unlike simple Web-based content, advanced scripting-based technology lacks resources and standardized support for key features such as accessibility. “Accessibility”, as that term is used herein, refers to the ability of all users to access Web-based content, without regard to a user's impairments or disabilities. Providing accessible content and applications is extremely important. Standardization bodies such as the World Wide Web Consortium, or “W3C”, have developed accessibility guidelines that include “Web Content Accessibility Guidelines 2.0” (a W3C Working Draft dated 11 Mar. 2004), “User Agent Accessibility Guidelines 1.0” (a W3C Recommendation dated 17 Dec. 2002), and “Authoring Tool Accessibility Guidelines 1.0” (a W3C Recommendation dated 3 Feb. 2000). However, no existing guidelines are known to the present inventors that fully address the particular needs of the class of complex Web applications that are built to leverage advanced client-side technologies.
Accordingly, what is needed are techniques for providing accessibility compliance within advanced scripting-based componentry.